Customer self service in interactive TV environment for TV programming packages

ABSTRACT

Method and system for enabling users to perform self-service operations in interactive TV environments. In one embodiment, the method enables users to select and activate programming packages via a set-top box, thereby eliminating the need for the users to have to call a call center to activate the unit. Using a set of interactive screens, the user is enabled to view various programming package information, including comparative information. In one embodiment, the method assists users who are moving to activate/reactive broadcast services. For example, options are provided to enable the user to schedule service work, disconnect and activate services, and other activities connected with the move. In another embodiment, the method enables a user to select a programming package based on packages that are recommended by the system. Historic usage patterns, including viewing habits and attempts to access unavailable content are analyzed to determine which programming packages should be recommended for the user.

RELATED APPLICATIONS

[0001] The present application is based on a co-pending provisionalapplication entitled “CUSTOMER SELF SERVICE IN INTERACTIVE TVENVIRONMENT FOR TV PROGRAMMING PACKAGES,” Serial No. 60/301,087 filed onJun. 25, 2001, the benefit of the filing date of which is claimed under35 U.S.C. § 119(e).

FIELD OF THE INVENTION

[0002] The field of the invention relates generally to broadcastreception equipment, and more specifically but not exclusively relatesto interactive television environments and set-top boxes and the likethat are used to support such environments.

BACKGROUND INFORMATION

[0003] In the current art of interactive programming guides (IPGS) fortelevision viewing, when a user receives a set-top box he typicallyneeds to call a call center to have the box activated. The activationprocess typically includes providing account information and may includea credit check. Once the account has been approved, the set-top box canbe activated.

[0004] Presently, the only exceptions for this tedious, inconvenientprocess are add-on services such as WebTV™ and TiVO™, which allow usersto activate their services by themselves. However, those systems differfrom most television programming providers in that they don't offer agreat variety of viewing packages. Instead, such add-on service,typically offer only one or two packages, with one or two paymentoptions each.

[0005] The reason programming providers such as cable operators andsatellite operators prefer to have the customer call into a call centeris that it provides an opportunity to up-sell the client to better, moreexpensive programming packages, and hence generate more revenue.

[0006] What is clearly needed is a system for an automated up-sellprocess that could interactively query the customer and, based oncustomer responses, out of the multitude of available packages couldthen generate suggestions for programming packages designed to appeal tohim, thus retaining the advantages for the provider of selling betterprogramming packages to the customer, while avoiding for the customerthe inconvenience of having to call into a call center.

SUMMARY OF THE INVENTION

[0007] In accordance with aspects of the present invention, methods andsystems are disclosed for enabling users to perform self-serviceoperations in interactive TV environments. In one embodiment, a methodis provided to enable users to select and activate programming packagesvia a set-top box, thereby eliminating the need for the users to have tocall a call center to activate the unit. Using a set of interactivescreens, the user is enabled to view various programming packageinformation and promotions. For example, comparative information listingvarious features of respective programming packages may be provided in atabular layout such that the user can easily compare the differencesbetween packages. Upon selection of a package, the method furtherenables the user to activate broadcast services corresponding to theselected package.

[0008] In accordance with another aspect of the invention, a method isprovided to assists users who are moving to activate/reactive broadcastservices. Options are provided to enable the user to schedule servicework, disconnect and activate services, and other activities connectedwith the move. For example, the user may schedule a service technicianto install equipment or wiring at the new location. The method alsoadvises a user if he has to return a set-top box, in instances in whicha current service provider who leases the set-top box to the user doesnot provide service to the new location.

[0009] In accordance with yet another aspect of the invention, a methodis provided to assist a user in selecting an appropriate programmingpackage based on packages that are recommended by the system. Historicusage patterns, including viewing habits and attempts to accessunavailable content are analyzed to determine which programming packagesshould be recommended for the user. Information pertaining to therecommended packages is then presented to the user, and the user isenabled to select and activate one of the packages.

[0010] According to other aspects of the invention, the method may beimplemented via software running on the system, which will typicallycomprise a set-top box or the like. In general, the software may beprovided with the set-top box, or downloaded from a broadcast serviceprovider or third party via a communication interface built into theset-top box.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The foregoing aspects and many of the attendant advantages ofthis invention will become more readily appreciated as the same becomesbetter understood by reference to the following detailed description,when taken in conjunction with the accompanying drawings, wherein likereference numerals refer to like parts throughout the various viewsunless otherwise specified:

[0012]FIG. 1 is a representation of a display window corresponding to aninitial interactive screen from which a user may select variousself-service operations;

[0013]FIG. 2 is a flow diagram illustrating operations and logicimplemented by the system to enable a user to set-up broadcast serviceaccess via a set-top box;

[0014]FIG. 3 is a flow diagram illustrating operations and logicimplemented by the system to assist a user who is moving;

[0015]FIG. 4 is a flowchart illustrating operations implemented by thesystem to assist a user in selecting an appropriate programming packagebased on historic usage information; and

[0016]FIG. 5 is a schematic block diagram illustrating variouscomponents in a machine that may be used to implement the operations ofvarious embodiments of the invention described herein.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0017] Embodiments of methods and systems for enabling users to performself-service activities in an interactive TV environment, such asactivating a selected broadcast service programming package, aredescribed herein. In the following description, numerous specificdetails are set forth to provide a thorough understanding of embodimentsof the invention. One skilled in the relevant art will recognize,however, that the invention can be practiced without one or more of thespecific details, or with other methods, components, materials, etc. Inother instances, well-known structures, materials, or operations are notshown or described in detail to avoid obscuring aspects of theinvention.

[0018] Reference throughout this specification to “one embodiment” or“an embodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment of the present invention. Thus, theappearances of the phrases “in one embodiment” or “in an embodiment” invarious places throughout this specification are not necessarily allreferring to the same embodiment. Furthermore, the particular features,structures, or characteristics may be combined in any suitable manner inone or more embodiments.

[0019]FIG. 1 shows a screen 100 displayed on a television 102 that istypical of what may be presented to a user while performing set-upoperations pertaining to an interactive television device, such as aset-top box 104. Screen 100 has, for example, guided set-up options,such as an “Initial Setup” option 106, a “Move” option 108 (to help thecustomer change service when, for example, he moves to another address),and a “Counsel on New Promotions” option 110, which the customer mightdesire to access if he sees advertisements for new packages and he'sinterested in learning more about them and seeing if any of the newpackages are more appropriate for him than his existing package.Generally, the user will navigate to various screens and select menuoptions using an input device such as a remote control 112.

[0020] In general, the processes described herein will be enabledthrough software running on a set-top box. Depending on theimplementation, a particular process may comprise ongoing interactionwith a broadcast service provider service center in a matter somewhatakin to a client-server operation, or may comprise collecting variousinformation from the user, and then submitting the information to thebroadcast service provider. In the first case, the set-top box will needto be connected to the broadcast service provider service center priorto initiating the process. In the second case, a similar connection maynot be required to be initiated until some point after the processbegins. Accordingly, since the operation of connecting to the broadcastservice provider may apply at various stages of the processes describeherein, this operation is not shown in the drawing figures; however,such a connection operation is implied to occur during the processes,when and if applicable.

[0021] A flow diagram corresponding to an initial set-up process inaccordance with one embodiment of the invention is shown in FIG. 2. Thisprocess begins in a block 200, in which the user will enter basiccustomer account data, such as name, address, phone number, credit carddata, etc. After entering the customer account data, the user will bepresented with a set of screens or dialogs in which the user will selectviewing preferences, as depicted by a block 202. For example, theviewing preferences may include questions covering broad viewingcategories, such as what general types of content the user prefers(e.g., movies, sports, news, etc.) and more particular questionspertaining to selected categories, such as what types of movies the userprefers. In a block 204, the user preference data is processed andviewing packages and/or promotions that are most appropriate for theuser are identified based on the user preference data. The user is thenpresented with the identified packages and/or promotions in a block 206.In one embodiment, the packages and promotions are displayed in acomparative format, wherein the features and costs of the variousoptions are displayed in a manner that enables the user to compare costsand features relatively easily. For example, the various packages andpromotions may be presented in a comparison table, with bubbles or thelike hailing certain advantages of one package over another.

[0022] At this point, the user is enabled to select various options, asdepicted by a user input decision block 208. Under one case, the userselects one of the listed packages or promotions to activate. Inresponse, final setup operations are performed in a block 210. Forexample, the final setup may include receiving an authorization code toenable the selected package to be accessed via the set-top box, or mayinclude final authorization for charges, etc. After the final setupoperations have been performed, the process is completed, as indicatedby the “Exit” block in the figures.

[0023] Under another case, the user may select an overview option,whereby the user may access a total overview of all programming options,as depicted by a block 212. Depending on the complexity and number ofoptions, this information may involve displaying information pertainingto one or more groups of programming packages via one or moreinteractive screens. From this navigation point, the user may“drill-down” to obtain further details on selected packages and thelike. For example, the user might make a limited selection of packagesin various different groups and have those packages presented to him inaccordance with a block 214, in a manner similar to the comparison ofpackages in block 206 discussed above.

[0024] In general, the user will be able to navigate among variousscreens via well-known navigation techniques, such as activation ofon-screen buttons and/or using navigation buttons on a remote controlthat are configured for such purposes. These techniques are well-knownin the art, and accordingly, further details are not disclosed herein.Included among the operations is an abort option, which will enable theuser to abort a particular operation, or the set-up operation itself.

[0025] A flow diagram corresponding to a process that is initiated inresponse to selection of “Move” option 108 on screen 100 is shown inFIG. 3. In a block 300, the user is presented with current account data,such as registered address, phone number, etc. In general, this mayrequire the set-top box to establish a communications link with theservice provider service cent, whereupon the account data are retrievedfrom a database hosted by the service center. Optionally, suchinformation may be maintained on the set-top box itself. In a block 302,the user enters new account information, as appropriate. For example,the user will usually enter a new address and phone number, although insome instances the phone number will remain the same. Upon completingentry of the new information, the user will activate an “update” buttonor a similar navigation element to update the user's accountinformation.

[0026] In response to entry of the new account information, a query willbe performed to determine the available programming optionscorresponding to the new location. In one embodiment, this query may beperformed using programming package data that are stored on the set-topbox itself. For example, such data may be provided with the set-top boxand/or downloaded to the set-top box on a periodic basis. In anotherembodiment, the query will be performed against data in the serviceprovider's database, with the results of the query forwarded to theset-top box via the communication link with the service provider servicecenter.

[0027] Once the query is performed, corresponding navigation options arepresented to the user in a block 306. For example, the options mightindicate that the user must return the box (if no service is availableat the new location), or enable the user to move the box and reconnectto using a current service. Another option might correspond toperforming a new installation on a new network.

[0028] In response to a user input corresponding to a selected option,as depicted by decision block 308, corresponding operations will beperformed. For instance, in response to selecting a return box option,the user could be presented with a dialog box that provides a returnaddress or phone number to call to have the unit picked up, as depictedby a block 310. Optionally, the interface might enable a user to selectto have a prepaid shipping label sent to the user, whereby the usercould ship the unit back to the service provider. In response to a “Moveand Reconnect” option, the user might be presented with a series ofscreens to enable the user to set-up the set-top box at the newlocation, as depicted by a block 312. These operations might furtherinclude some or all of the set-up operations discussed above withreference to FIG. 2, as depicted by the encircled “A's” in FIGS. 2 and3, which illustrate a “jump-to” operation.

[0029] If the user selects a new installation option, there are severalactivities the user may be required to have performed prior toactivating a service. For example, if the new location isn't wired forcable or satellite service, the user may be provided with one or morescreens via which the user could schedule a service technician toinstall any necessary equipment. These activities are depicted by ablock 314, wherein the dashed lines indicate the activities areoptional. As shown in a block 316, the user may also be presented withscreens to enable the user to schedule disconnection of a currentservice and activation of the new service.

[0030] As discussed above, the navigation scheme enables users to jumpto other screens and processes, as appropriate, using well-knownnavigation techniques. For example, the user could navigate to a screencorresponding to block 312 after scheduling disconnection of a currentservice.

[0031] A flow diagram corresponding a process that is initiated inresponse to activation of “Counsel on New Promotions” option 110 isshown in FIG. 4. Typically, a customer may select this option afterhaving seen a promotion offering a new programming package, or thecustomer may be prompted through an interactive ad to review his currentsubscription versus his actual usage pattern. In a block 400, thecustomer's historic usage pattern is analyzed. For example, ause-tracking program may be implemented on the set-top box to track theuser's viewing habits. In general, such information is used to revealviewer preferences based on observed usage. For example, a record of theamount of time a user spends watching various channels might be kept. Inanother embodiment, each program might have some type of contentidentifier (such as sports, news, drama, comedy, etc.), and the trackinginformation could contain an aggregation of time spent viewing contentcorresponding to each category.

[0032] In addition to tacking actual viewing usage, it might also bevaluable to track attempts to access unavailable programming. Forexample, many electronic program guides (EPGs) provide details ofscheduled content broadcast by a corresponding service provider.Typically, the listed content (e.g., television shows, movies, etc.) mayinclude content corresponding to the most comprehensive programmingpackages available from the service provider, such as including contentthat will be broadcast over all of the stations supported by the serviceprovider . As a result, some of this content will not be available forviewing or recording in situations in which the user doesn't subscribeto a programming package that includes the originating channel thecontent is broadcast over. For example, a user may attempt to view orrecord a program on a premium channel not included in the user's currentprogramming package.

[0033] In accordance with this consideration, in one embodiment suchattempts to access unavailable programs are analyzed in a block 402. Ina block 404, one or more packages are recommended to the user based onthe analysis' performed in block 400 and optional block 402. Forexample, if analysis of a user's usage pattern indicates the userwatches a lot of sports programming, the user may be interested insubscribing to a premium sports channel, or to subscribe to a premiumsports package. Along similar lines, if the analysis in block 402indicates that a user has attempted to access an unavailable channelmultiple times, one or more packages that include the channel might berecommended to the user.

[0034] Exemplary Machine for Implementing Embodiments of the Invention

[0035] A schematic block diagram illustrating various components andoperations of an exemplary machine 500 for implementing the embodimentsof the invention discussed above is shown in FIG. 5. Generally, machine500 is representative of “set-top” boxes that are used to access videoand audio content provided by cable and satellite broadcast serviceproviders. Generally, machine 500 will include one or more processors502 coupled to a bus 504. The machine will also generally include memory506, storage 508, a display controller 510, an input/output controller512 and an audio controller 514, each of which is also coupled to bus504.

[0036] In one embodiment, machine 500 interfaces to external systems andnetworks through a communications interface 516. Communicationsinterface 516 may include a radio transceiver compatible with AM, FM,TV, digital TV, DVB, wireless telephone signals or the like.Communications interface 516 may also include an analog modem,Integrated Services Digital Network (ISDN) modem, cable modem, DigitalSubscriber Line (DSL) modem, a T-1 line interface, a T-3 line interface,an optical carrier interface (e.g. OC-3), token ring interface,satellite transmission interface, a wireless interface or otherinterfaces for coupling a device to other devices.

[0037] In one embodiment, a carrier wave signal 517 is received bycommunications interface 516 to communicate with a network 120. Alsoconnected to the network are one or more service providers 519. Ingeneral, the machine may establish a communications link a serviceprovider in order to register a new service, enter or select schedulinginformation, save and retrieve customer account data, perform set-upoperations, etc. The communications link may also enable the set-top boxto query programming packages and the like (as discussed above withreference to block 304), which are stored in a database 523. In oneembodiment, carrier wave signal 517 is considered to be machine readablemedia, which may be transmitted through wires, cables, optical fibers orthrough the atmosphere, or the like.

[0038] In one embodiment, processor 502 may be a conventionalmicroprocessor, such as for example but not limited to an Intel x86 orPentium family microprocessor, a Motorola family microprocessor, or thelike. Optionally, the processor may comprise a micro-controller, or thelike. Memory 506 may be a machine-readable medium such as dynamic randomaccess memory (DRAM) and may include static random access memory (SRAM).Display controller 510 controls in a conventional manner a display 518,which in one embodiment may be a cathode ray tube (CRT), a liquidcrystal display (LCD), an active matrix display, a television monitor orthe like. In one embodiment, a remote interface 520 is provided tosupport interaction with remote input devices, such as remote control112 and a remote keyboard 122. Other remote input devices may also beused. Wired input devices may also be supported as well. A panel controlinterface 521 may also be provided to enable user input from a userinput panel or the like provided by the machine.

[0039] In one embodiment, audio controller 514 controls in aconventional manner audio output 522, which may include, audio speakers,headphones, an audio receiver, amplifier or the like. In one embodiment,the audio controller also controls in a conventional manner audio input524, which may include a microphone or input(s) from an audio or musicaldevice, or the like.

[0040] Storage 508 in one embodiment may include machine-readable mediasuch as, for example, but not limited to a magnetic hard disk, anoptical disk, a read-only memory (ROM) component, a smart card oranother form of storage for data. In one embodiment, storage 508 mayinclude removable media, read-only media, readable/writeable media orthe like. Some of the data may be written by a direct memory accessprocess into memory 506 during execution of software in machine 500. Itis appreciated that software may reside in storage 508, memory 506 ormay be transmitted or received via modem or communications interface516. Optionally, all or a portion of the software may be stored in afirmware storage device 526. For the purposes of this specification, theterm “machine-readable media” shall be taken to include any media thatis capable of storing data, information or encoding a sequence ofinstructions for execution by processor 502 to cause machine 500 toperform the operations of the embodiments of the invention discussedabove. The term “machine-readable media” shall be taken to include, butis not limited to solid-state memories, optical and magnetic disks,carrier wave signals, and the like.

[0041] In some configurations, machine 500 may include personal videorecorder (PVR) or digital video recorder (DVR) functionality, whereinthe machine will be used to store content corresponding to movies,television shows, and the like. Typically, the content will be initiallyreceived as an audio/video (A/V) input signal 530. The A/V input signalmay originate from one or more sources, including a cable broadcast 532,a satellite broadcast 534, or a local television broadcast 536. The A/Vinput signal may also be provided by a playback device, such as a DVDplayer 538 or VCR 540. It will be appreciated that other content inputdevices may be used as well, such as computers and the like.

[0042] Typically, upon receiving A/V signal 530, the signal will eitherbe used for storing content, and/or passed through for display purposes.In cases in which the content is to be stored, the A/V signal willusually be encoded by an encoder 542 and stored as encoded content 544in storage 508. A decoder 545 is used to decode the encoded contentduring playback operations. The encoding and decoding operations may beprovided by embedded components (e.g., MPEG encoders and decoders), byprocessor 502, or a combination of the two. In addition to storingencoded content, storage 508 may be used to store corresponding contentinformation 546, such as recording directories and the like. Contentinformation 546 is used to also represent the various controlaccess-related tables described herein (i.e., the system database).

[0043] In general, the operations of the embodiments described abovewill be implemented by executing software code stored in one or moresoftware modules. Collectively, this software code is represented aslogic 550. As shown, logic 550 may be stored in firmware device 526and/or storage 508. Logic 550 also represents common set-top boxapplications, such as recording applications and electronic programguides and the like. In some instances, logic 550 may be updated via adownload, which may be received via a primary connection (e.g., a cableinput), or via a back-channel connection (e.g., an internet connectionrouted over telecom equipment). Accordingly, in one embodiment firmwaredevice 526 comprises a rewriteable component, such as flash memory.

[0044] The above description of illustrated embodiments of theinvention, including what is described in the Abstract, is not intendedto be exhaustive or to limit the invention to the precise formsdisclosed. While specific embodiments of, and examples for, theinvention are described herein for illustrative purposes, variousequivalent modifications are possible within the scope of the invention,as those skilled in the relevant art will recognize.

[0045] These modifications can be made to the invention in light of theabove detailed description. The terms used in the following claimsshould not be construed to limit the invention to the specificembodiments disclosed in the specification and the claims. Rather, thescope of the invention is to be determined entirely by the followingclaims, which are to be construed in accordance with establisheddoctrines of claim interpretation.

What is claimed is:
 1. A method for enabling a user to select andactivate programming packages via a set-top box, comprising:establishing a communication link with a service provider; andgenerating a set of interactive screens via the set-top box, includingscreens to: enable a user to select a programming package to subscribeto from among a plurality programming packages offered by a serviceprovider; and enable the user to activate the programming package thatis selected so that program content corresponding to the programmingpackage may be accessed via the set-top box.
 2. The method of claim 1,further comprising: generating one or more interactive screens to enablethe user to enter viewing preference information; via one or more ofinteractive screen; identifying programming packages appropriate for theuser based on the viewing preference information entered by the user;and generating one or more interactive screens via which informationpertaining to the programming packages that are identified may bepresented to the user.
 3. The method of claim 2, wherein the informationpertaining to the programming packages that are identified is configuredin a comparative format to enable the user to compare features providedby respective programming packages.
 4. The method of claim 1, whereinthe interactive screens further enable a user to selectively viewinformation pertaining to programming package options offered by aservice provider
 5. A method for assisting a user of a broadcast serviceprovider who is moving to a new location, comprising: establishing acommunication link with the broadcast service provider via a set-top boxused to receive broadcast content from the broadcast service provider;generating a set of interactive screens via the set-top box, includingone or more screens to enable the user to enter updated accountinformation, including a new address corresponding to the new location;retrieving information corresponding to programming options andavailability of services provided by the broadcast service providerbased on the new address entered by the user; and presenting theinformation that is retrieved to the user via one or more of theinteractive screens.
 6. The method of claim 5, wherein the set ofinteractive screens include one or more screens to enable a user toschedule disconnection of a current service.
 7. The method of claim 5,wherein the set of interactive screens include one or more screens toenable a user to perform service set-up operations to provide broadcastservice to the new location.
 8. The method of claim 5, wherein the setof interactive screens include one or more screens to enable a user toschedule a technician to perform installation services at the newlocation.
 9. The method of claim 5, wherein the set of interactivescreens include one or more screens to: apprise a user of a need toreturn the set-top box; and provide information on how to return theset-top box.
 10. A method for assisting a user in selecting aprogramming package via a set-top box, comprising: storing historicusage information on the set-top box; analyzing the historic usageinformation; determine one or more recommended programming package(s)for the user based on the analysis of the historic usage information;and generating one or more interactive screens via the set-top box onwhich data pertaining to said one or more recommended programmingpackage(s) are displayed.
 11. The method of claim 10, wherein thehistoric usage information includes a user's viewing and/or recordingusage patterns.
 12. The method of claim 10, wherein the historic usageinformation includes attempts to view or record programming content thatis unavailable through the programming package the user currentlysubscribes to.
 13. The method of claim 10, further comprising;establishing a communication link with a service provider; and enablingthe user to set-up service for a selected programming package from amongsaid one or more recommended programming package(s).
 14. Amachine-readable media having instructions stored thereon, which whenexecuted on a set-top box perform the operations of: establishing acommunication link between the set-top box and broadcast serviceprovider; and generating a set of interactive screens via the set-topbox, including screens to: enable a user to select a programming packageto subscribe to from among a plurality programming packages offered by aservice provider; and enable the user to activate the programmingpackage that is selected so that program content corresponding to theprogramming package may be accessed via the set-top box.
 15. Themachine-readable media of claim 14, wherein execution of theinstructions further performs the operations of: generating one or moreinteractive screens to enable the user to enter viewing preferenceinformation; via one or more of interactive screen; identifyingprogramming packages appropriate for the user based on the viewingpreference information entered by the user; and generating one or moreinteractive screens via which information pertaining to the programmingpackages that are identified may be presented to the user.
 16. Themachine-readable media of claim 14, wherein the interactive screensfurther enable a user to selectively view information pertaining toprogramming package options offered by a service provider.
 17. Amachine-readable media having instructions stored thereon, which whenexecuted on a set-top box assist a user of a broadcast service providerwho is moving to a new location by performing the operations of:establishing a communication link with the broadcast a service providervia a set-top box used to receive broadcast content from the broadcastservice provider; generating a set of interactive screens via theset-top box, including one or more screens to enable the user to enterupdated account information, including a new address corresponding tothe new location; retrieving information corresponding to programmingoptions and availability of services provided by the broadcast serviceprovider based on the new address entered by the user; and presentingthe information that is retrieved to the user via one or more of theinteractive screens.
 18. The machine-readable media of claim 18, whereinthe set of interactive screens include one or more screens to enable auser to perform service set-up operations to provide broadcast serviceto the new location.
 19. A machine-readable media having instructionsstored thereon, which when executed on a set-top box assist a user inselecting a programming package via a set-top box by performing theoperations of: storing historic usage information on the set-top box;sending the historic usage information to a service provider to beanalyzed; receiving data corresponding to one or more recommendedprogramming package(s) for the user from the service provider based onan analysis of the historic usage information; and generating one ormore interactive screens via the set-top box on which data pertaining tosaid one or more recommended programming package(s) are displayed. 20.The machine-readable media of claim 19, wherein the historic usageinformation includes a user's viewing and/or recording usage patterns.21. The machine-readable media of claim 19, wherein the historic usageinformation includes attempts to view or record programming content thatis unavailable through the programming package the user currentlysubscribes to.
 22. A machine-readable media having instructions storedthereon, which when executed on a set-top box assist a user in selectinga programming package via a set-top box by performing the operations of:storing historic usage information on the set-top box; analyzing thehistoric usage information; determine one or more recommendedprogramming package(s) for the user based on the analysis of thehistoric usage information; and generating one or more interactivescreens via the set-top box on which data pertaining to said one or morerecommended programming package(s) are displayed.
 23. Themachine-readable media of claim 22, wherein the historic usageinformation includes a user's viewing and/or recording usage patterns.24. The machine-readable media of claim 22, wherein the historic usageinformation includes attempts to view or record programming content thatis unavailable through the programming package the user currentlysubscribes to.